#ifndef C_POINT
#define C_POINT

#include <iostream>
#include <cmath>

using namespace std;

class Point
{
	protected:
		double x, y, z, t;
	public:
 		Point(){x = 0.0; y = 0.0; z = 0.0; t = 1.0;}
		Point(double n1, double n2, double n3){x = n1; y = n2; z = n3; t = 1.0;}
		Point(const Point &p){x = p.get_x(); y = p.get_y(); z = p.get_z(); t = 1.0;}

		void set_x(double n){x = n;}
		void set_y(double n){y = n;}
		void set_z(double n){z = n;}
		void set_t(double n){t = n;}
		void display() const;
		double get_x() const{return x;}
		double get_y() const{return y;}
		double get_z() const{return z;}
		double get_t() const{return t;}
		bool operator ==(const Point& p) const{ return ( x==p.get_x() && y==p.get_y() && z==p.get_z()) ;} 
		double distance(const Point& p) const
		{ 
			return sqrt( (x-p.get_x()) * (x-p.get_x()) +  (y-p.get_y()) * (y-p.get_y()) + (z-p.get_z()) * (z-p.get_z()));
		}
};

#endif
